/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.tarifador.controller;

import br.com.tarifador.dao.TarifadorDao;
import br.com.tarifador.model.Empresa;
import br.com.tarifador.model.Pabx;
import java.util.List;

/**
 *
 * @author charles
 */
public class PabxRN {

    private TarifadorDao<Pabx> dao;
    private Pabx pabx = new Pabx();
    private String messagemCount;

    public boolean salvaPABX() {
        dao = new TarifadorDao<Pabx>(Pabx.class);
        boolean valida = false;
        if (pabx != null) {
            valida = dao.save(pabx);
            limparCampos();
            countPABX();
            
        }
        return valida;
    }

    public boolean updatePABX(Pabx central) {
        dao = new TarifadorDao<Pabx>(Pabx.class);
        boolean valida = false;
        if (pabx != null) {
            pabx.setId(central.getId());
            valida = dao.update(pabx);
            limparCampos();
        }
        return valida;
    }

    public void limparCampos() {
      
        this.pabx.setFabricante("");
        this.pabx.setModelo("");
        this.pabx.setVersao("");
        this.pabx.setEmpresa(null);
    }

    public String countPABX() {
        dao = new TarifadorDao<Pabx>(Pabx.class);
        Long valor = dao.countAllObject();
        return this.messagemCount = valor.toString() + " PABX cadastrados.";
    }

    public boolean deletaPABX(Long idPABX) {
        dao = new TarifadorDao<Pabx>(Pabx.class);
        boolean valida = false;
        if (idPABX != null) {
            pabx.setId(idPABX);
            valida = dao.delete(pabx);
            countPABX();
        }
        return valida;
    }

    public String sobrePABX() {

        String texto = "PABX central telefônica  emissora dos bilhetes das ligações. ";
        return texto;
    }

    public List<Pabx> listaDePABX() {
        dao = new TarifadorDao<Pabx>(Pabx.class);
        countPABX();
        return dao.listall();
    }

    public List<Empresa> carregaEmpresa() throws NullPointerException {
        TarifadorDao<Empresa> dao = new TarifadorDao<Empresa>(Empresa.class);
        return dao.listall();
    }

    public String getMessagemCount() {
        return messagemCount;
    }

    public void setMessagemCount(String messagemCount) {
        this.messagemCount = messagemCount;
    }

    public Pabx getPabx() {
        return pabx;
    }

    public void setPabx(Pabx pabx) {
        this.pabx = pabx;
    }
}
